package com.wink_172.library.model

import com.wink_172.library.adapter.HomeListAdapter
import com.wink_172.library.callback.ICallback
import com.wink_172.library.callback.ICallback2
import java.io.Serializable

open class BaseDataItem : Serializable {


    open  var id = 0
    open  var type = 0
    open  var res = 0
    open var select = false //选中 未选中  适用于列表
    open  var title: String? = null
    open   var content: String? = null
    open   var hint: String? = null
    open var flag= 0 //万能标志0
    open var flag1= 0 //万能拓展标志1
    open  var flag2= 0 //万能拓展标志2
    open  var flag3= 0 //万能拓展标志3
    open  var flag4= 0 //万能拓展标志4
    open  var flag5= 0 //万能拓展标志5

    open var str1:String?=null //万能拓展字符串1
    open  var str2:String?=null //万能拓展字符串2
    open var str3:String?=null//万能拓展字符串3
    open var str4:String?=null//万能拓展字符串4
    open  var str5:String?=null//万能拓展字符串5
    open  var str6:String?=null//万能拓展字符串6


    open  var data: Any? = null  //万能拓展数据0
    open  var data1: Any? = null //万能拓展数据1
    open var data2: Any? = null //万能拓展数据2
    open  var data3: Any? = null //万能拓展数据3
    open  var data4: Any? = null //万能拓展数据4
    open  var data5: Any? = null //万能拓展数据5

    open  var objectsList: List<Any>? = null  //万能拓展列表数据0
    open   var objectsList1: List<Any>? = null  //万能拓展列表数据1
    open  var objectsList2: List<Any>? = null  //万能拓展列表数据2
    open  var objectsList3: List<Any>? = null  //万能拓展列表数据3
    open var objectsList4: List<Any>? = null  //万能拓展列表数据4
    open var objectsList5: List<Any>? = null  //万能拓展列表数据4

    open  var callback: HomeListAdapter.BaseViewsHolder.ICallback? = null  //之后的版本需要逐渐被callback_m替代   版本1
    open  var callback_m: ICallback? = null    //版本2

    constructor() {}
    constructor(id: Int, type: Int) {
        this.id = id
        this.type = type
    }

    constructor(id: Int, type: Int, res: Int, title: String?, content: String?, hint: String?) {
        this.id = id
        this.type = type
        this.res = res
        this.title = title
        this.content = content
        this.hint = hint
    }

    fun setObjectData(data: Any?) {
        this.data = data
    }
}